layui.use(['table', 'laydate', 'form'], function () {
    var laydate = layui.laydate;
    var form = layui.form;
    var table = layui.table;

    flushTable(getFormData());
    //监听行工具事件
    table.on('tool(table)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
        var data = obj.data //获得当前行数据
            , layEvent = obj.event; //获得 lay-event 对应的值
        if (layEvent === 'update') {
            // layer.msg('编辑');
            //点击编辑的时候，需要将当前的id传递到新页面（编辑页面）
// sessionStorage
// localStorage
            sessionStorage.setItem("userID", data.id);
            xadmin.open('编辑用户', '/html/user/member-update.html', 600, 400);
        } else if (layEvent === 'delete') {
            //调用ajax删除
            layer.confirm('确认要删除吗？', function (index) {

                $.ajax({
                    url: '/back/user/delete',
                    data: {id: data.id},
                    dataType: 'json',
                    type: 'post',
                    success: function (data) {
                        if (data.result == "success") {
                            // layer.alert("删除成功");
                            //    删除成功，我们需要刷新当前的数据
                            // flushTable();
                            obj.del();
                            layer.msg('已删除!', {icon: 1, time: 1000});
                        } else {
                            layer.alert("删除失败");
                        }

                    }
                })
            })
        } else if (layEvent === 'pass') {
            layer.msg('修改密碼');
        }
    });
    // 监听全选
    form.on('checkbox(checkall)', function (data) {

        if (data.elem.checked) {
            $('tbody input').prop('checked', true);
        } else {
            $('tbody input').prop('checked', false);
        }
        form.render('checkbox');
    });
    //监听提交
    form.on('submit(sreach)',
        function (data) {
            console.log(data);
            data = data.field;
            var hobby = [];
            $('input[type=checkbox]:checked').each(function () {
                hobby.push(this.title);
            });
            data.hobby = hobby.toString();
            //将所有查询条件的值拿到，现在需要查询，调用Ajax
            flushTable(data);
            return false;
        });
    //执行一个laydate实例
    laydate.render({
        elem: '#start' //指定元素
    });

    //执行一个laydate实例
    laydate.render({
        elem: '#end' //指定元素
    });


});

function getFormData() {
    return {
        username: '',
        start: '',
        end: '',
        sex: '',
        enable: '',
        hobby: ''
    };
}

/*用户-停用*/
function member_stop(obj, id) {
    layer.confirm('确认要停用吗？', function (index) {

        if ($(obj).attr('title') == '启用') {

            //发异步把用户状态进行更改
            $(obj).attr('title', '停用')
            $(obj).find('i').html('&#xe62f;');

            $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
            layer.msg('已停用!', {icon: 5, time: 1000});

        } else {
            $(obj).attr('title', '启用')
            $(obj).find('i').html('&#xe601;');

            $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
            layer.msg('已启用!', {icon: 5, time: 1000});
        }

    });
}

/*用户-删除*/
function member_del(obj, id) {
    layer.confirm('确认要删除吗？', function (index) {
        //发异步删除数据
        $(obj).parents("tr").remove();
        layer.msg('已删除!', {icon: 1, time: 1000});
    });
}

function flushTable(data) {
    layui.use(['table', 'laydate', 'form'], function () {
        var table = layui.table;

        table.render({
            elem: '#list'
            , url: '/back/user/findAll'//对应后台注解地址
            , cellMinWidth: 80 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
            , page: true
            , where: data
            , parseData: function (res) { //res 即为原始返回的数据
                console.log(res);
                return {
                    "code": res.code, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": res.total, //解析数据长度
                    "data": res.data //解析数据列表
                };
            }
            , cols: [[
                {field: 'id', width: 80, title: 'ID', sort: true}
                , {field: 'username', width: 80, title: '用户名'}
                , {field: 'sex', width: 80, title: '性别', sort: true}
                , {field: 'birthday', width: 180, title: '生日'}
                , {field: 'hobby', title: '爱好', width: 180, minWidth: 100} //minWidth：局部定义当前单元格的最小宽度，layui 2.2.1 新增
                , {field: 'enable', title: '状态', sort: true, templet: '<div>{{d.enable==1?"启用":"停用"}}</div>'}
                , {field: 'phone', title: '手机', sort: true}
                , {field: 'email', title: '邮箱'}
                , {fixed: 'right', title: '操作', width: 250, align: 'center', toolbar: '#barDemo'}
            ]]
        });
    })
}

function delAll(argument) {
    var ids = [];

    // 获取选中的id
    $('tbody input').each(function (index, el) {
        if ($(this).prop('checked')) {
            ids.push($(this).val())
        }
    });

    layer.confirm('确认要删除吗？' + ids.toString(), function (index) {
        //捉到所有被选中的，发异步进行删除
        layer.msg('删除成功', {icon: 1});
        $(".layui-form-checked").not('.header').parents('tr').remove();
    });
}